package com.likou;

import java.util.Arrays;

/**
 * Author: 陈桂明
 * Date: 2025/4/11 20:08
 * Description: q53
 */
public class q53 {
    // public int maxSubArray(int[] nums) {
    //     if (nums.length == 0) {
    //         return 0;
    //     }
    //
    //     int sum = nums[0];
    //     int max = nums[0];
    //     for (int i = 1; i < nums.length; i++) {
    //         sum = Math.max(sum + nums[i], nums[i]);
    //         max = Math.max(sum, max);
    //     }
    //
    //     return max;
    // }

    // public int maxSubArray(int[] nums) {
    //     if (nums.length == 0) {
    //         return 0;
    //     }
    //
    //     int sum = 0;
    //     int max = nums[0];
    //     for (int num : nums) {
    //         sum = Math.max(sum + num, num);
    //         max = Math.max(sum, max);
    //     }
    //
    //     return max;
    // }

    public int maxSubArray(int[] nums) {
        if (nums.length == 0) {
            return 0;
        }

        int sum = 0;
        int max = nums[0];
        for (int num : nums) {
            if (sum > 0) {
                sum += num;
            } else {
                sum = num;
            }
            max = Math.max(sum, max);
        }

        return max;
    }
}
